package menu;

import dominio.*;
import java.sql.SQLException;
import persistencia.* ;
import java.io.IOException;
public class Main {

    public static void main(String[] args) throws IOException, SQLException, Exception{
                int opcao = 1;
               /* Boolean loginRealizado;
                System.out.println("Digite o nome de usuario");
                String nomeUsuario = Console.readString();
                System.out.println("Digite a senha");
                String senha = Console.readString();
                PersistenciaUsuario pu = new PersistenciaUsuario();
                loginRealizado = pu.login(nomeUsuario,senha);
                System.out.println(loginRealizado);
                    if (loginRealizado == true){
                        System.out.println("login realizado");
                    }
*/
                Principal auxP = Principal.getInstance();
                PersistenciaCliente persistenciaCliente = PersistenciaCliente.getInstance();
                PersistenciaFuncionario persistenciaFuncionario = PersistenciaFuncionario.getInstance();
                PersistenciaLocacao persistenciaLocacao = PersistenciaLocacao.getInstance();
                PersistenciaMotorista persistenciaMotorista = PersistenciaMotorista.getInstance();
                PersistenciaTipoLocacao persistenciaTipoLocacao = PersistenciaTipoLocacao.getInstance();
                PersistenciaVeiculo persistenciaVeiculo = PersistenciaVeiculo.getInstance();
 
                //Menu principal
                
                while (opcao != 0) {
                    System.out.println("Locarrão Rent a Car");
                    System.out.println("Digite o número referente à opção desejada.");
                    System.out.println("1 - Cadastrar (Cliente, Motorista, Funcionario, Veiculo, Tipo de Locação ou ainda para realizar uma Locação).");
                    System.out.println("2 - Alterar Cadastro");
                    System.out.println("3 - Consultar");
                    System.out.println("4 - Cadastrar Devolução");
                    System.out.println("Digite 0 zero para sair");

                    opcao = Console.readInteger();

                //Para cada opção, de acordo com a necessidade de cada funcao utilizada, são passadas as respectivas persistencias
                    switch (opcao) {

                        case 0 :
                                System.out.println("Programa Finalizado.");
                                break;

                        case 1 :
                                     auxP.menuCadastros(persistenciaCliente,
                                                persistenciaVeiculo,
                                                persistenciaMotorista,
                                                persistenciaFuncionario,
                                                persistenciaTipoLocacao,
                                                persistenciaLocacao);
                                    break;

                        case 2 :
                                    auxP.menuAlteracoes(persistenciaCliente,
                                                persistenciaVeiculo,
                                                persistenciaMotorista,
                                                persistenciaFuncionario,
                                                persistenciaTipoLocacao,
                                                persistenciaLocacao);
                                    break;

                        case 3 :
                                    auxP.menuConsultas(persistenciaCliente,
                                                persistenciaVeiculo,
                                                persistenciaMotorista,
                                                persistenciaFuncionario,
                                                persistenciaTipoLocacao,
                                                persistenciaLocacao);
                                    break;

                        case 4 :
                                    auxP.menuCadastroDevolucoes();
                                    break;

                        default :
                                    System.out.println("Opção Inválida.");
                                    break;
                    }
                }
                //Salvando em arquivos todas as listas do programa.

    }
}